/**
 * vue.config.js 中 webpack 配置的插件信息
 * 插件配置
 */
const cplugins = {
  VueLoaderPlugin: {},
  DefinePlugin: { definitions: { 'process.env': [Object] } },
  CaseSensitivePathsPlugin:  {
    options: {},
    // logger: Object [console] {
    //   log: [Function: log],
    //   warn: [Function: warn],
    //   dir: [Function: dir],
    //   time: [Function: time],
    //   timeEnd: [Function: timeEnd],
    //   timeLog: [Function: timeLog],
    //   trace: [Function: trace],
    //   assert: [Function: assert],
    //   clear: [Function: clear],
    //   count: [Function: count],
    //   countReset: [Function: countReset],
    //   group: [Function: group],
    //   groupEnd: [Function: groupEnd],
    //   table: [Function: table],
    //   debug: [Function: debug],
    //   info: [Function: info],
    //   dirxml: [Function: dirxml],
    //   error: [Function: error],
    //   groupCollapsed: [Function: groupCollapsed],
    //   Console: [Function: Console],
    //   profile: [Function: profile],
    //   profileEnd: [Function: profileEnd],
    //   timeStamp: [Function: timeStamp],
    //   context: [Function: context]
    // },
    // pathCache: Map(0) {},
    fsOperations: 0,
    primed: false
  },
  FriendlyErrorsWebpackPlugin:  {
    compilationSuccessInfo: {},
    onErrors: undefined,
    shouldClearConsole: true,
    formatters: [
      [Function: format],
      [Function: format],
      [Function: format],
      [Function (anonymous)]
    ],
    transformers: [
      [Function: transform],
      [Function: transform],
      [Function: transform],
      [Function (anonymous)]
    ],
    previousEndTimes: {}
  },
  MiniCssExtractPlugin:  {
    options: {
      filename: 'static/css/[name].[contenthash:8].css',
      moduleFilename: [Function: moduleFilename],
      ignoreOrder: false,
      chunkFilename: 'static/css/[name].[contenthash:8].css'
    }
  },
  HtmlWebpackPlugin : {
    options: {
      template: 'E:\\004xxlProject\\template-web-h5\\public\\index.html',
      templateParameters: [Function: templateParameters],
      filename: 'index.html',
      hash: false,
      inject: true,
      compile: true,
      favicon: false,
      minify: false,
      cache: true,
      showErrors: true,
      chunks: 'all',
      excludeChunks: [],
      chunksSortMode: 'auto',
      meta: {},
      title: 'webtemplate',
      xhtml: false
    }
  },
  PreloadPlugin : {
    options: {
      rel: 'preload',
      include: 'initial',
      excludeHtmlNames: [],
      fileBlacklist: [Array]
    }
  },
  PreloadPlugin:  {
    options: {
      rel: 'prefetch',
      include: 'asyncChunks',
      excludeHtmlNames: [],
      fileBlacklist: [Array]
    }
  },
  CopyPlugin:  { patterns: [ [Object] ], options: {} },
  HotModuleReplacementPlugin: {
    options: {},
    multiStep: undefined,
    fullBuildTimeout: 200,
    requestTimeout: 10000
  },
  ProgressPlugin : {
    profile: false,
    handler: undefined,
    modulesCount: 500,
    showEntries: false,
    showModules: true,
    showActiveModules: true
  }
}

// 核心 Vue 相关插件
// Vue 单文件组件（SFC）的编译核心插件，必须配合 vue-loader使用，处理 .vue文件的模板、样式和逻辑。
VueLoaderPlugin
// 定义全局常量，如 process.env环境变量，代码中可直接使用 process.env.NODE_ENV等变量。
DefinePlugin





// 开发环境增强插件
// 强制区分文件路径大小写，避免在 Linux/macOS 和 Windows 系统间因路径大小写不一致导致的问题
CaseSensitivePathsPlugin
// 美化 Webpack 的错误和警告输出，提供更清晰的错误提示和解决方案建议
FriendlyErrorsWebpackPlugin
// 启用模块热替换（HMR），修改代码后无需刷新页面即可实时更新，提升开发体验。
HotModuleReplacementPlugin



// HTML 和资源处理​
// 自动生成 index.html或基于模板注入打包后的资源（JS/CSS），支持多入口配置
HtmlWebpackPlugin
// <ul><li>rel="preload": 对初始加载的关键资源（如首屏JS）预加载。</li><li>rel="prefetch": 对异步 chunk 预取，提升后续导航速度。</li></ul>
PreloadPlugin
// 复制 public/目录下的静态资源（如图片、字体）到构建输出目录，不经过 Webpack 处理。
CopyPlugin





// CSS 处理​
// ​​将 CSS 从 JS 中提取为独立文件，支持按需加载和缓存优化（文件名带 contenthash）。
MiniCssExtractPlugin






// 构建优化插件​
// 显示构建进度条，可视化编译进度（默认在控制台输出百分比和模块信息）
ProgressPlugin



// vue inspect --plugins // 查看所有插件信息
// vue inspect --rules // 查看所有规则信息